package com.qf.taobei.mapper;

import com.qf.taobei.entity.CartProduct;
import com.qf.taobei.entity.Product;
import com.qf.taobei.entity.bo.CartAdd;
import com.qf.taobei.entity.bo.ProductCart;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CartMapper {
    /**
     * 添加购物车商品
     * @param userId 用户id
     * @param productId 商品id
     * @param number 商品数量
     * @return
     */
    Integer addCartProduct(@Param("userId") int userId, @Param("productId") int productId, @Param("number") int number);

    /**
     * 刷新价格
     * @return
     */
    Integer updateMoney();
    /**
     * 查询购物车中的商品信息
     * @param userId 用户id
     * @return
     */
    List<ProductCart> getProductList(@Param("userId") int userId, @Param("pName") String pName);

    /**
     * 删除对应的商品
     * @param productId
     * @return
     */
    Integer deleteProductById(int productId);

    /**
     * 多选删除
     * @param list
     * @return
     */
    Integer deleteProductAll(List<Integer> list);

    /**
     * 增加购物车中商品
     * @param productId
     * @return
     */
    Integer addProduct(int productId);

    /**
     * 减少购物车中商品
     * @param productId
     * @return
     */
    Integer deleteProduct(int productId);

    /**
     * 根据商品id获取对应的信息
     * @param productId
     * @return
     */
    Product getProductById(int productId);

    /**
     * 根据购物中的id获取商品id
     * @param CPId
     * @return
     */
    CartProduct getCartProductById(int CPId);

    /**
     * 获取选择商品的总价
     * @param list
     * @return
     */
    Integer getMoneyAll(List<Integer> list);
    /**
     * 获取该用户购物车的总数
     * @param uid
     * @return
     */
    Integer getCartSum( int uid);

    List<CartAdd> getProductID(List<Integer> list);
}
